/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package RDA;

import Config.ArxiuConfiguracio;
import Config.Configuracio;
import newMenu.ManagerRecursos;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;

/**
 *
 * @author wida46984148
 */
public class FabricaNaves {

    public static ArxiuConfiguracio NaveWida;
    public static ArxiuConfiguracio NaveEnemiga;

    public static NaveBase naveWida(String ref) throws SlickException{
        NaveBase naveBase = null;
        if (NaveWida == null) {
            NaveWida = Configuracio.getUnitats();
        }
        if(ref.equals("nave1")){
            Image img = ManagerRecursos.getImage("lleugerImage");//new Image("src/data/plane.png");
            Image exp  = ManagerRecursos.getImage("escutImage");
            Image st = ManagerRecursos.getImage("escopetaImage");//new Image("src/data/shot.jpg");


            naveBase = new NaveWida(30, 30, 3, new DisparoWida(2, st),
                    img, exp);
//            naveBase = new NaveWida(30, 30, 3, new DisparoWida(2, (ManagerRecursos.getImage("lleugerImage"))),
//                    ManagerRecursos.getImage("lleugerImage"), ManagerRecursos.getImage("escopetaImage"));
        }else if (ref.equals("nave2")){
//            Image img = ManagerRecursos.getImage("minerImage");
//            Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
//            Image st = ManagerRecursos.getImage("escopetaImage");//new Image("src/data/shot.jpg");

            naveBase = new NaveWida(30, 30, 3, new DisparoWida(2, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("minerImage"),  ManagerRecursos.getImage("escutImage"));

        }else if(ref.equals("nave3")){
//            Image img = ManagerRecursos.getImage("pistolerImage");
//            Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
//            Image st = ManagerRecursos.getImage("bombaImage");//new Image("src/data/shot2.png");

            naveBase = new NaveWida(30, 30, 3, new DisparoWida(2, ManagerRecursos.getImage("bombaImage")),
                    ManagerRecursos.getImage("pistolerImage"), ManagerRecursos.getImage("escutImage"));
        }
        return naveBase;
    }

    public static NaveBase navesEnemigas(String ref) throws SlickException{
        NaveBase naveBase = null;
        if (NaveEnemiga == null) {
            NaveEnemiga = Configuracio.getUnitats();
        }
        if(ref.equals("Pistoler")){
            System.out.println(NaveWida.getPropietatInt("vidaPistoler"));
        } else if (ref.equals("nave0")){
//            Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
//            Image st =  ManagerRecursos.getImage("escopetaImage");
//            Image img = ManagerRecursos.getImage("focImage");
            //nb = new NauEnemiga0(10, 10, null, img, 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga1(5, 5, new DisparoCentro(1, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("focImage"), -17, -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave0A")){
//            Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
//            Image st =  ManagerRecursos.getImage("escopetaImage");
//            Image img = ManagerRecursos.getImage("focImage");
            //nb = new NaveEnemiga1(10, 10, null, ManagerRecursos.getImage("focImage"), 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga1(5, 5, new DisparoCentro(1, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("focImage"), 100, -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave0B")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
          //  Image ManagerRecursos.getImage("escopetaImage") =  ManagerRecursos.getImage("escopetaImage");
         //   Image ManagerRecursos.getImage("focImage") = ManagerRecursos.getImage("focImage");
            //nb = new NaveEnemiga1(10, 10, null, ManagerRecursos.getImage("focImage"), 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga1(5, 5, new DisparoCentro(1, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("focImage"), 236, -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave0C")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
          //  Image ManagerRecursos.getImage("escopetaImage") =  ManagerRecursos.getImage("escopetaImage");
        //    Image ManagerRecursos.getImage("focImage") = ManagerRecursos.getImage("focImage");
            //nb = new NaveEnemiga1(10, 10, null, ManagerRecursos.getImage("focImage"), 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga1(5, 5, new DisparoCentro(1, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("focImage"), 365, -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave0D")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
          //  Image ManagerRecursos.getImage("escopetaImage") =  ManagerRecursos.getImage("escopetaImage");
        //    Image ManagerRecursos.getImage("focImage") = ManagerRecursos.getImage("focImage");
            //nb = new NaveEnemiga1(10, 10, null, ManagerRecursos.getImage("focImage"), 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga1(5, 5, new DisparoCentro(1, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("focImage"), 485, -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave0E")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
          //  Image ManagerRecursos.getImage("escopetaImage") =  ManagerRecursos.getImage("escopetaImage");
       //     Image ManagerRecursos.getImage("focImage") = ManagerRecursos.getImage("focImage");
            //nb = new NaveEnemiga1(10, 10, null, ManagerRecursos.getImage("focImage"), 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga1(5, 5, new DisparoCentro(1, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("focImage"), 593, -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave0F")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
         //   Image ManagerRecursos.getImage("escopetaImage") =  ManagerRecursos.getImage("escopetaImage");
       //     Image ManagerRecursos.getImage("focImage") = ManagerRecursos.getImage("focImage");
            //nb = new NaveEnemiga1(10, 10, null, ManagerRecursos.getImage("focImage"), 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga1(5, 5, new DisparoCentro(1, ManagerRecursos.getImage("escopetaImage")),
                    ManagerRecursos.getImage("focImage"), 695, -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave1")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
           // Image st = ManagerRecursos.getImage("caixaImage");
            Image img = ManagerRecursos.getImage("minaImage");//new Image("src/data/tank.gif");
            //nb = new NauEnemiga0(10, 10, null, img, 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga2(10, 10, new DisparoIzquierda(1, ManagerRecursos.getImage("caixaImage")),
                    new DisparoDerecha(1, ManagerRecursos.getImage("caixaImage")), img, (int)(Math.random()*750+1),
                    -99, ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave2A")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
            //Image st = ManagerRecursos.getImage("caixaImage");
//            Image img = ManagerRecursos.getImage("motoristaImage");
            //nb = new NauEnemiga0(10, 10, null, img, 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga3(20, 20, new DisparoIzquierda(1, ManagerRecursos.getImage("caixaImage")),
                    new DisparoDerecha(1, ManagerRecursos.getImage("caixaImage")),new DisparoCentro(1,
                    ManagerRecursos.getImage("caixaImage")), ManagerRecursos.getImage("motoristaImage"), 300, -99,
                    ManagerRecursos.getImage("escutImage"));
        } else if (ref.equals("nave2B")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
//            Image st = ManagerRecursos.getImage("caixaImage");
//            Image img = ManagerRecursos.getImage("motoristaImage");
            //nb = new NauEnemiga0(10, 10, null, img, 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemiga3(20, 20, new DisparoIzquierda(1, ManagerRecursos.getImage("caixaImage")),new
                    DisparoDerecha(1, ManagerRecursos.getImage("caixaImage")),new DisparoCentro(1,
                    ManagerRecursos.getImage("caixaImage")), ManagerRecursos.getImage("motoristaImage"), 600, -99,
                    ManagerRecursos.getImage("escutImage"));
        } else if( ref.equals("boss1")){
            //Image ManagerRecursos.getImage("escutImage") = ManagerRecursos.getImage("escutImage");
            //Image st =ManagerRecursos.getImage("caixaImage");
            Image img = new Image("src/data/chuck.jpg");
            //nb = new NauEnemiga0(10, 10, null, img, 150, -100, ManagerRecursos.getImage("escutImage"));
            naveBase = new NaveEnemigaBoss(100, 100, new DisparoIzquierda(2, ManagerRecursos.getImage("caixaImage")),
                    new DisparoDerecha(2, ManagerRecursos.getImage("caixaImage")),new DisparoCentro(2,
                    ManagerRecursos.getImage("caixaImage")),
                    img, 300, -99, ManagerRecursos.getImage("escutImage"));
        }
        return naveBase;


    }

}
